function Y = bm3d_log(X, sigma)

% Dominio log-trasformato
Xlog = log(X+eps);   

% Sottrazione della media del rumore
mean_val = 0;%(psi(0,L)-log(L))/2;
Xlog = Xlog - mean_val;

% Passaggio al range 0-255
mi = min( Xlog(:) );
Mi = max( Xlog(:) );
Xlog = (255/(Mi-mi)) * (Xlog-mi);

% Denoising
Ylog = bm3d(Xlog, sigma);
Ylog = 255 * Ylog;

% Ritorna al range originario
Ylog = Ylog / (255/(Mi-mi)) + mi;

% Ritorna al dominio lineare
Y = exp(Ylog)-eps;